#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtSerialPort/QSerialPort>
#include <realtimedatawidget.h>
#include "form.h"
#include "SendMessageThread.h"
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    // 声明 parseData 函数


private:
    Ui::MainWindow *ui;
    QSerialPort *serial;
    SendMessageThread *sendThread;
    QString receivedData; // 将 receivedData 声明为成员变量
    QMap<QString, QString> parseData(const QString &data, const QStringList &keys);
    void printParsedData(const QMap<QString, QString> &parsedData);

    void addDataToPlot(double value);
    RealTimeDataWidget *dataWidget_AD ; // 声明 dataWidget 对象
    RealTimeDataWidget *dataWidget_DTV;
    RealTimeDataWidget *dataWidget_Pi;


    QVector<double> xData; // 存储 x 值
    QVector<double> yData; // 存储 y 值
     QDateTime firstTimestamp; // 第一个数据点的时间戳
     Form *form;
    void showForm();

     void saveTextEditToFile();


};
#endif // MAINWINDOW_H
